package com.cskaoyan.javase.oop1._15import._0one;

/**
 * 请按照以下步骤创建需要的类：
 * 1. 在包名为**one**的包中创建一个**public class Student**和测试类**public class Demo**
 * 2. 在包名为**another**的包中创建一个**public class Student**和**public class Teacher**
 * 3. 在同名的Student类中给出同名的方法test，并给出不同的实现
 * 4. 创建完毕后，开始进行测试工作
 *
 * 在java当中,创建对象语法或者访问类的静态成员时,编译器首先要搞明白使用的究竟是哪个类,同包下不允许有同名类,但不同包下同名类很正常
 * 这时:
 *      如果直接使用简单类名,编译器首先从同包中去找,如果找不到就是没有这个类,于是会编译报错
 *      当你要使用不同包下的类时,就需要明确告诉编译器,使用哪个包下的这个类
 *      语法:
 *          import + 全限定类名
 *      注意:
 *          1.package声明应该在第一行,import关键字应该写在package声明的下面
 *          2.idea有自动导包的功能,但是注意不要导错包
 *          3.java.lang包是java的核心类包,就不需要手动导包,而是存在隐式导包,自动导入java每一个java文件中
 *          4.如果同包下存在同名public class,但是我不想使用它,非要使用不同包下的,咋办?
 *              只需要导包即可
 *
 * 思考:
 *      如果我想同时使用同包下的Student和不同包下的Student,咋办?
 *      放弃使用简单类名,转而使用全限定类名
 *      当然全限定类名一般都很长,如果能够改名,还是改名字为好.改不了名字还是需要用全限定类名
 *
 * @since 11:24
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        Student s = new Student();
        s.test();

        com.cskaoyan.javase.oop1._15import._1another.Student s2 = new com.cskaoyan.javase.oop1._15import._1another.Student();
        s2.test();
        // new Teacher();
    }
}
